sankhya-dashboard-html-jsp-custom-best-pratices
Helps create and fix dashboards in Sankhya using HTML and Java. Follows best development practices. Useful for those working with visual reports in Sankhya.
What it does
This agent helps create and improve dashboards in the Sankhya system. It ensures the code used to display information is organized, secure, and visually consistent, following best practices.
When to use it
- ✓When you need to create a new dashboard in Sankhya.
- ✓If your current dashboard has errors or isn't working as expected.
- ✓To ensure your dashboard follows good programming and security rules.
Example of what to ask your AI
“Help me create a Sankhya dashboard to show last month's sales, following best practices.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It analyzes your code (HTML, JSP, Java, SQL) and suggests or applies corrections to follow organization, security, and visual patterns. This ranges from how data is fetched to how it's displayed on the screen.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill sankhya-dashboard-html-jsp-custom-best-praticesOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/sankhya-dashboard-html-jsp-custom-best-pratices/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
sankhya-dashboard-html-jsp-custom-best-pratices
Purpose
To provide a consolidated guide of patterns and best practices for creating and maintaining dashboards, SQL queries, BI parameterization, and UI/UX within the Sankhya ecosystem (JSP/HTML/Java).
When to Use This Skill
This skill should be used when:
- The user asks about "boas praticas do sankhya" or "Sankhya best practices".
- The user mentions "dashboard sankhya" or is working on a Sankhya BI dashboard.
- The user asks for anything related to the word "Sankhya".
- The user wants to create or modify code files for Sankhya dashboards.
Core Capabilities
- Code Generation & Review: Apply JSP/JSTL patterns and server-side organization to reduce compilation errors and rendering failures.
- Visual Consistency: Standardize visual identity in BI components using predefined CSS tokens.
- Database Exploration: Structure data exploration queries for performance and correct mapping of Sankhya entities.
- BI Construction Guide: Use the HTML5 component flow in BI to ensure correct rendering, reactivity, and navigation.
Patterns
Melhores Práticas de Código
Aplicar padrões de JSP/JSTL e organização server-side para reduzir erros de compilação, falhas de renderização e regressões em dashboards/telas.
Diretrizes de implementação
- Declarar diretivas JSP e taglibs obrigatórias no topo do arquivo.
- Forçar
isELIgnored="false"para habilitar${...}em tempo de renderização. - Preferir
core_rtpara JSTL core no ecossistema Sankhya. - Evitar scriptlets Java em JSP; usar JSTL (
c:if,c:choose,c:forEach). - Modularizar lógica de negócio (camadas/serviços), evitando acoplamento em arquivo único.
- Evitar hardcode de credenciais, URLs sensíveis e tokens.
- Modelar estado global da UI (dados, filtros, ordenação, aba ativa) e resetar estado antes de novo carregamento.
- Persistir preferências de visualização no
localStorage(ordem de colunas e ordenação). - Implementar carregamento sob demanda para abas/modais pesados (lazy-load) para reduzir tempo inicial.
- Blindagem de Parâmetros: Sempre definir um valor padrão (fallback) para parâmetros de URL via
c:setpara evitar Erro 500 no servidor Java do Sankhya. - Separação de Camadas (JSP vs JS): Evitar injetar tags JSP diretamente dentro de blocos
<script>. Utilizar containers HTML ocultos para passar dados ao JavaScript, mantendo a saúde do editor de código (IDE Linting).
Os nomes de tabelas e campos abaixo são representativos e podem variar conforme a implementação da instância.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %>
<%@ taglib prefix="snk" uri="/WEB-INF/tld/sankhyaUtil.tld" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<snk:load />
Carregamento de assets em dashboard/gadget
- Referenciar arquivos com
contextPath+BASE_FOLDER. - Em níveis secundários (
openLevel), manter caminho absoluto para evitar quebra de resolução.
<script src="${pageContext.request.contextPath}/${BASE_FOLDER}/js/app.js"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath}/${BASE_FOLDER}/css/style.css" />
Consumo seguro de snk:query
- Iterar em
query.rows(não no objeto raiz). - Testar vazio com
empty query.rows.
<snk:query var="qDados">
SELECT CAB.NUNOTA, CAB.CODPARC
FROM TGFCAB CAB
</snk:query>
<c:choose>
<c:when test="${empty qDados.rows}">
<span>Sem resultados</span>
</c:when>
<c:otherwise>
<c:forEach var="linha" items="${qDados.rows}">
${linha.NUNOTA}
</c:forEach>
</c:otherwise>
</c:choose>
Sanitização de parâmetros antes da SQL
- Normalizar valor de entrada.
- Remover aspas (
"e") antes de injetar em query. - Definir fallback seguro para evitar SQL inválida.
<c:set var="raw_codusu" value="${empty param.P_CODUSU ? '0' : param.P_CODUSU}" />
<c:set var="codusu_limpo" value="${fn:replace(raw_codusu, '\"', '')}" />
<c:set var="codusu_limpo" value="${fn:replace(codusu_limpo, '"', '')}" />
<c:set var="codusu_seguro" value="${empty codusu_limpo ? '0' : codusu_limpo}" />
<snk:query var="qAcessos">
SELECT CODUSU, NOMEUSU
FROM TSIUSU
WHERE CODUSU = :codusu_seguro
</snk:query>
Estado de tela e lazy-load em dashboard único
…
FAQ
What are 'best practices' in this context?
They are a set of rules and recommendations for writing code efficiently, securely, and in a way that's easy to understand and maintain, avoiding common errors and performance issues.
What is JSP?
JSP (JavaServer Pages) is a technology that allows creating dynamic web pages using Java, HTML, and other languages. It's like a building block for parts of the Sankhya system.
What are 'dashboards' or 'panels'?
They are screens that display important information visually and summarized, like charts and tables, to aid in decision-making.
Details
Original description by the author
This skill should be used when the user asks for patterns, best practices, creation, or fixing of Sankhya dashboards using HTML, JSP, Java, and SQL.
Popularity
- GitHub stars
- 48k
- Ranking position
- #4056
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
angular-developer
Helps your agent create Angular code and give project structure advice. Useful for starting new projects, creating code parts, or improving performance and accessibility.
affaan-m/ECC
frontend-a11y
Helps your agent make web interfaces accessible to everyone. It ensures websites and apps work well with screen readers and keyboard navigation.
affaan-m/ECC
frontend-patterns
Has your agent apply modern patterns in frontend development. It optimizes performance, manages state, and follows best practices in React and Next.js.
affaan-m/ECC