@mohammadhprp/system-prompt 0.11.0 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/framework/agents/backend-architect.md +1 -1
  2. package/framework/commands/commit.md +0 -3
  3. package/framework/mcps/figma-mcp-go/README.md +0 -1
  4. package/framework/mcps/gitlab-mcp/README.md +0 -1
  5. package/framework/mcps/jira-mcp/README.md +0 -1
  6. package/framework/mcps/laravel-boost/README.md +0 -1
  7. package/framework/mcps/notion-mcp/README.md +0 -1
  8. package/framework/mcps/supabase-mcp/README.md +0 -1
  9. package/framework/plugins/opencode-goal-plugin/README.md +0 -1
  10. package/framework/references/standards/api.md +0 -1
  11. package/framework/references/standards/architecture.md +0 -1
  12. package/framework/references/standards/database.md +0 -1
  13. package/framework/references/standards/debugging.md +0 -1
  14. package/framework/references/standards/documentation.md +0 -2
  15. package/framework/references/standards/logging.md +0 -1
  16. package/framework/references/standards/naming.md +0 -1
  17. package/framework/references/standards/observability.md +0 -1
  18. package/framework/references/standards/performance.md +0 -1
  19. package/framework/references/standards/pull-requests.md +0 -1
  20. package/framework/references/standards/security.md +0 -1
  21. package/framework/references/standards/testing.md +0 -1
  22. package/framework/skills/README.md +15 -3
  23. package/framework/skills/codenavi/SKILL.md +306 -0
  24. package/framework/skills/codenavi/examples.md +33 -0
  25. package/framework/skills/codenavi/references/coding-principles.md +143 -0
  26. package/framework/skills/codenavi/references/notebook-spec.md +171 -0
  27. package/framework/skills/create-adr/SKILL.md +429 -0
  28. package/framework/skills/create-adr/examples.md +35 -0
  29. package/framework/skills/docs-writer/SKILL.md +39 -0
  30. package/framework/skills/docs-writer/examples.md +34 -0
  31. package/framework/skills/docs-writer/references/style-guide.md +72 -0
  32. package/framework/skills/frontend-design/SKILL.md +55 -0
  33. package/framework/skills/frontend-design/examples.md +45 -0
  34. package/framework/skills/humanizer/SKILL.md +412 -0
  35. package/framework/skills/humanizer/examples.md +46 -0
  36. package/framework/skills/learning-opportunities/SKILL.md +140 -0
  37. package/framework/skills/learning-opportunities/examples.md +34 -0
  38. package/framework/skills/learning-opportunities/references/PRINCIPLES.md +42 -0
  39. package/framework/skills/perf-web-optimization/SKILL.md +163 -0
  40. package/framework/skills/perf-web-optimization/examples.md +35 -0
  41. package/framework/skills/perf-web-optimization/references/bundle-optimization.md +180 -0
  42. package/framework/skills/perf-web-optimization/references/core-web-vitals.md +154 -0
  43. package/framework/skills/perf-web-optimization/references/image-optimization.md +170 -0
  44. package/framework/skills/security-best-practices/LICENSE.txt +201 -0
  45. package/framework/skills/security-best-practices/SKILL.md +89 -0
  46. package/framework/skills/security-best-practices/examples.md +35 -0
  47. package/framework/skills/security-best-practices/references/golang-general-backend-security.md +988 -0
  48. package/framework/skills/security-best-practices/references/javascript-express-web-server-security.md +1151 -0
  49. package/framework/skills/security-best-practices/references/javascript-general-web-frontend-security.md +725 -0
  50. package/framework/skills/security-best-practices/references/javascript-jquery-web-frontend-security.md +672 -0
  51. package/framework/skills/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +1138 -0
  52. package/framework/skills/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +975 -0
  53. package/framework/skills/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +789 -0
  54. package/framework/skills/security-best-practices/references/python-django-web-server-security.md +880 -0
  55. package/framework/skills/security-best-practices/references/python-fastapi-web-server-security.md +1030 -0
  56. package/framework/skills/security-best-practices/references/python-flask-web-server-security.md +835 -0
  57. package/framework/skills/sentry/SKILL.md +127 -0
  58. package/framework/skills/sentry/examples.md +34 -0
  59. package/framework/skills/sentry/scripts/sentry_api.py +238 -0
  60. package/framework/skills/show-me/SKILL.md +127 -0
  61. package/framework/skills/show-me/examples.md +78 -0
  62. package/framework/skills/spec-driven-eval/SKILL.md +341 -0
  63. package/framework/skills/spec-driven-eval/examples.md +35 -0
  64. package/framework/skills/spec-driven-eval/references/quickstart.md +118 -0
  65. package/framework/skills/spec-driven-eval/references/reference.md +295 -0
  66. package/framework/skills/technical-design-doc-creator/README.md +411 -0
  67. package/framework/skills/technical-design-doc-creator/SKILL.md +1484 -0
  68. package/framework/skills/technical-design-doc-creator/examples.md +35 -0
  69. package/framework/skills/tlc-spec-driven/SKILL.md +184 -0
  70. package/framework/skills/tlc-spec-driven/examples.md +34 -0
  71. package/framework/skills/tlc-spec-driven/references/code-analysis.md +98 -0
  72. package/framework/skills/tlc-spec-driven/references/coding-principles.md +72 -0
  73. package/framework/skills/tlc-spec-driven/references/context-limits.md +31 -0
  74. package/framework/skills/tlc-spec-driven/references/design.md +199 -0
  75. package/framework/skills/tlc-spec-driven/references/discuss.md +159 -0
  76. package/framework/skills/tlc-spec-driven/references/implement.md +436 -0
  77. package/framework/skills/tlc-spec-driven/references/lessons.md +115 -0
  78. package/framework/skills/tlc-spec-driven/references/memory.md +144 -0
  79. package/framework/skills/tlc-spec-driven/references/specify.md +228 -0
  80. package/framework/skills/tlc-spec-driven/references/sub-agents.md +147 -0
  81. package/framework/skills/tlc-spec-driven/references/tasks.md +451 -0
  82. package/framework/skills/tlc-spec-driven/references/validate.md +355 -0
  83. package/framework/skills/tlc-spec-driven/scripts/check_commit.py +115 -0
  84. package/framework/skills/tlc-spec-driven/scripts/lessons.py +412 -0
  85. package/framework/skills/tlc-spec-driven/scripts/validate_spec.py +260 -0
  86. package/framework/skills/tlc-spec-driven/scripts/validate_state.py +162 -0
  87. package/framework/skills/tlc-spec-driven/scripts/validate_tasks.py +251 -0
  88. package/framework/skills/web-design-guidelines/SKILL.md +65 -0
  89. package/framework/skills/web-design-guidelines/examples.md +32 -0
  90. package/framework/skills/web-design-guidelines/references/guideline.md +174 -0
  91. package/package.json +1 -1
  92. package/src/catalog.js +15 -3
  93. package/src/installer.js +66 -1
  94. package/framework/skills/backend-engineer/SKILL.md +0 -76
  95. package/framework/skills/backend-engineer/examples.md +0 -31
  96. package/framework/skills/documentation/SKILL.md +0 -74
  97. package/framework/skills/documentation/examples.md +0 -31
@@ -0,0 +1,143 @@
1
+ # Coding Principles
2
+
3
+ Read this file during the Execute phase when implementing changes.
4
+ These principles reduce common AI coding mistakes and ensure
5
+ consistent, high-quality output.
6
+
7
+ ## 1. Think Before Coding
8
+
9
+ Before writing any code:
10
+
11
+ - State your assumptions explicitly. If uncertain, ask.
12
+ - If multiple approaches exist, present them with tradeoffs.
13
+ - If a simpler approach exists, say so. Push back when warranted.
14
+ - If something is unclear, stop. Name what's confusing. Ask.
15
+ - If the developer's approach seems wrong, say so constructively.
16
+ Don't be sycophantic — honesty prevents bugs.
17
+
18
+ ## 2. Simplicity First
19
+
20
+ Write the minimum code that solves the problem.
21
+
22
+ - No features beyond what was asked.
23
+ - No abstractions for single-use code.
24
+ - No "flexibility" or "configurability" that wasn't requested.
25
+ - No error handling for impossible scenarios.
26
+ - No speculative optimization.
27
+ - If you wrote 200 lines and it could be 50, rewrite it.
28
+
29
+ The test: "Would a senior engineer say this is overcomplicated?"
30
+ If yes, simplify.
31
+
32
+ ## 3. Surgical Changes
33
+
34
+ When editing existing code:
35
+
36
+ - Don't "improve" adjacent code, comments, or formatting.
37
+ - Don't refactor things that aren't broken.
38
+ - Match existing style, even if you'd do it differently.
39
+ - If you notice unrelated issues, mention them — don't fix them.
40
+
41
+ When your changes create orphans:
42
+
43
+ - Remove imports, variables, and functions that YOUR changes made unused.
44
+ - Don't remove pre-existing dead code unless asked.
45
+
46
+ The test: Every changed line traces directly to the mission objective.
47
+
48
+ ## 4. Goal-Driven Execution
49
+
50
+ Transform vague tasks into verifiable goals:
51
+
52
+ - "Add validation" → "Write tests for invalid inputs, then make them pass"
53
+ - "Fix the bug" → "Write a test that reproduces it, then make it pass"
54
+ - "Refactor X" → "Ensure tests pass before and after"
55
+
56
+ For multi-step tasks, state a brief plan with verification checkpoints.
57
+ Strong success criteria enable autonomous execution. Weak criteria
58
+ ("make it work") require constant clarification — ask for better
59
+ criteria rather than guessing.
60
+
61
+ ## 5. Respect the Codebase
62
+
63
+ You are a guest in this codebase. Act like it.
64
+
65
+ - Use the same naming conventions already in the project.
66
+ - Use the same file organization patterns.
67
+ - Use the same error handling approach.
68
+ - Use the same import style (named vs default, relative vs absolute).
69
+ - If the project uses semicolons, use semicolons. If it doesn't, don't.
70
+
71
+ If existing conventions conflict with language best practices, flag it
72
+ to the developer. Don't silently introduce a different convention.
73
+
74
+ ## 6. Language Best Practices
75
+
76
+ Always follow the official best practices for the language and
77
+ frameworks in use. This means:
78
+
79
+ - Use idiomatic patterns for the language (e.g., list comprehensions
80
+ in Python, Optional chaining in TypeScript).
81
+ - Follow the official style guide when the project doesn't have its own.
82
+ - Use current, non-deprecated APIs and methods.
83
+ - Handle errors according to the language's conventions (try/catch,
84
+ Result types, error returns — whatever the ecosystem prefers).
85
+
86
+ Critical: Never rely on training memory for API signatures, method
87
+ parameters, or framework behavior. Always verify against current
88
+ documentation using the Knowledge Verification Chain:
89
+
90
+ ```
91
+ .notebook/ → project docs → MCP Context7 → web search → flag as uncertain
92
+ ```
93
+
94
+ ## 7. Dependencies and Imports
95
+
96
+ When adding new dependencies or imports:
97
+
98
+ - Check if the project already has a dependency that solves the
99
+ problem before adding a new one.
100
+ - Check the project's package manager and lockfile for existing
101
+ versions.
102
+ - If adding a new dependency, mention it to the developer with
103
+ rationale — never silently add packages.
104
+ - Match the project's import style and ordering conventions.
105
+
106
+ ## 8. Error Handling
107
+
108
+ - Handle errors that can realistically occur.
109
+ - Don't add catch blocks for theoretically impossible scenarios.
110
+ - Use the project's existing error handling patterns.
111
+ - Error messages should be actionable — tell what happened and
112
+ what to do about it, not just "Something went wrong."
113
+ - Never swallow errors silently (empty catch blocks) unless
114
+ there's an explicit reason documented in a comment.
115
+
116
+ ## 9. Testing
117
+
118
+ When tests are part of the mission:
119
+
120
+ - Write tests that verify behavior, not implementation details.
121
+ - Test the contract (input → output), not internal state.
122
+ - Name tests descriptively: "should reject expired coupon"
123
+ not "test1" or "coupon test."
124
+ - If modifying existing code, run existing tests first to
125
+ establish a baseline.
126
+ - If adding a bug fix, write a test that reproduces the bug
127
+ first, then fix it.
128
+
129
+ When tests are NOT part of the mission:
130
+
131
+ - Don't add tests unless asked.
132
+ - But DO mention if the change is risky and untested:
133
+ "This change affects the payment flow but there are no tests
134
+ covering this path. Consider adding tests for [specific cases]."
135
+
136
+ ## 10. Comments
137
+
138
+ - Don't add comments that restate the code.
139
+ - Don't remove existing comments unless they're provably wrong.
140
+ - Add comments only for non-obvious business logic or workarounds.
141
+ - If you add a workaround, explain WHY it's necessary and link
142
+ to the relevant issue/ticket if available.
143
+ - Match the project's commenting style and language (human language).
@@ -0,0 +1,171 @@
1
+ # .notebook/ Specification
2
+
3
+ Read this file when you need to create or update notes during the
4
+ Debrief phase, or when you need to understand the notebook format
5
+ during Briefing.
6
+
7
+ ## Structure
8
+
9
+ ```
10
+ .notebook/
11
+ ├── INDEX.md # Always read first. Compact index of all notes.
12
+ ├── auth-flow.md # Individual note files — flat by default.
13
+ ├── error-handling.md
14
+ └── checkout-race.md
15
+ ```
16
+
17
+ Notes start flat in the root of `.notebook/`. When volume exceeds
18
+ ~15 notes, organize into subdirectories by category:
19
+
20
+ ```
21
+ .notebook/
22
+ ├── INDEX.md
23
+ ├── flows/
24
+ │ ├── auth-flow.md
25
+ │ └── checkout-flow.md
26
+ ├── patterns/
27
+ │ └── error-handling.md
28
+ ├── gotchas/
29
+ │ └── checkout-race.md
30
+ └── domain/
31
+ └── coupon-types.md
32
+ ```
33
+
34
+ Categories:
35
+
36
+ - **flows** — How things work. Integrations, sequences, data paths.
37
+ - **patterns** — How things are done here. Conventions, recurring structures.
38
+ - **gotchas** — Traps. Bugs, quirks, counterintuitive behavior.
39
+ - **domain** — Business concepts. Terminology, rules, logic not obvious in code.
40
+
41
+ These categories are guidelines, not rigid rules. If a note fits
42
+ multiple categories, pick the primary one. If none fits, put it in root.
43
+
44
+ ## INDEX.md Format
45
+
46
+ The index must be compact. One line per note. The AI reads this every
47
+ session, so every byte counts.
48
+
49
+ ```markdown
50
+ # .notebook
51
+ > Project intelligence — read before every mission
52
+
53
+ Last updated: 2026-02-22
54
+
55
+ - [auth-flow](auth-flow.md) — OAuth2 + refresh rotation | flow | auth, security
56
+ - [error-handling](error-handling.md) — Error boundaries + custom hook | pattern | react, errors
57
+ - [checkout-race](checkout-race.md) — Race condition on cart update | gotcha | checkout, cart
58
+ - [coupon-types](coupon-types.md) — Percentage vs fixed vs BOGO rules | domain | coupons, pricing
59
+ ```
60
+
61
+ Format per line:
62
+
63
+ ```
64
+ - [slug](path) — summary (max ~80 chars) | category | tags
65
+ ```
66
+
67
+ Rules for INDEX.md:
68
+
69
+ - Keep summaries short and scannable.
70
+ - Tags are lowercase, comma-separated. Use them for quick grep.
71
+ - Update `Last updated` whenever the index changes.
72
+ - If using subdirectories, paths include the folder: `flows/auth-flow.md`.
73
+ - Sort by most recently updated, not alphabetically.
74
+
75
+ ## Individual Note Format
76
+
77
+ Notes are telegraphic. Think field notes, not documentation.
78
+
79
+ ```markdown
80
+ # Auth Flow
81
+ > OAuth2 with refresh token rotation
82
+
83
+ Entry: `src/middleware/auth.ts:authMiddleware()` (L12)
84
+ Flow: middleware → `services/auth/jwt.ts:verify()` → `services/user/find.ts:findById()`
85
+
86
+ Refresh: `services/auth/refresh.ts:rotateToken()`
87
+ - Single-use tokens — consumed on refresh, new pair issued
88
+ - Stored in Redis with TTL (see `lib/redis.ts:sessionStore`)
89
+
90
+ OAuth providers: `config/oauth.ts` — Google, GitHub
91
+ - Each provider maps to `services/auth/oauth/[provider].ts`
92
+
93
+ Session: Redis-backed via `lib/redis.ts` (L45-62)
94
+
95
+ Updated: 2026-02-22
96
+ ```
97
+
98
+ ### Format principles
99
+
100
+ 1. **Pointers, not copies.** Always reference as:
101
+ - `file/path.ts:functionName()` for functions
102
+ - `file/path.ts` (L10-25) for specific line ranges
103
+ - `file/path.ts:ClassName.method()` for class methods
104
+ Never paste code blocks into notes. Code changes; pointers
105
+ can be re-checked. Pasted code becomes stale lies.
106
+
107
+ 2. **One concept per note.** If it needs scrolling, split it.
108
+ A note about auth flow should not also cover session management
109
+ unless they're inseparable.
110
+
111
+ 3. **Minimal prose.** Use fragments, arrows, dashes. Not sentences.
112
+ "middleware → verify JWT → load user → attach to req" is better
113
+ than "The middleware first verifies the JWT token, then loads
114
+ the user from the database, and finally attaches it to the
115
+ request object."
116
+
117
+ 4. **Always include Entry point.** Every note should have a clear
118
+ starting point so the reader knows where to begin exploring.
119
+
120
+ 5. **Always include Updated date.** So the reader knows how fresh
121
+ the information is.
122
+
123
+ 6. **No opinions, only observations.** "Uses Redux for state" not
124
+ "Uses Redux instead of a better solution." If something is
125
+ genuinely problematic, state the observable impact:
126
+ "Redux store has 47 top-level keys — finding relevant state
127
+ requires searching across 12 reducers."
128
+
129
+ ## Creating the .notebook/ for the First Time
130
+
131
+ When `.notebook/` doesn't exist yet:
132
+
133
+ 1. Create the directory.
134
+ 2. Create INDEX.md with the header only:
135
+
136
+ ```markdown
137
+ # .notebook
138
+ > Project intelligence — read before every mission
139
+
140
+ Last updated: [today]
141
+ ```
142
+
143
+ 3. Do NOT do a full project analysis. Notes are created organically
144
+ as you work. The first notes will come from your first mission's
145
+ Debrief.
146
+
147
+ ## Updating Notes
148
+
149
+ When updating an existing note:
150
+
151
+ 1. Read the current content.
152
+ 2. Add, modify, or remove information based on what you discovered.
153
+ 3. Update the `Updated` date at the bottom.
154
+ 4. If the summary in INDEX.md changed, update it too.
155
+
156
+ When information becomes invalid (e.g., a flow changed because of
157
+ your work), update the note immediately — stale notes are worse
158
+ than no notes.
159
+
160
+ ## Token Budget
161
+
162
+ The entire `.notebook/` system is designed for progressive disclosure:
163
+
164
+ - **INDEX.md** is read every session (~5-50 lines). Cost: minimal.
165
+ - **Individual notes** are read only when relevant to the current
166
+ mission. The AI decides which to open based on INDEX.md tags.
167
+ - **Total cost per session:** INDEX.md + 0-3 relevant notes.
168
+
169
+ If INDEX.md grows beyond 50 entries, consider archiving old notes
170
+ into an `archive/` subdirectory and removing them from the active
171
+ index. Archived notes are still searchable but not loaded by default.