output-format
Beautiful ASCII art output formatting guidelines for all plugin commands
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Beautiful ASCII art output formatting guidelines for all plugin commands
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Check and install OpenAPI Sync MCP server dependency
Best practice templates for API layer scaffolding
Detect and analyze FSD layer structure in a project
Generate FSD-compliant slice boilerplate with pattern matching
Check FSD import boundary rules and detect violations
Manage analysis cache for incremental FSD validation
| name | output-format |
| description | Beautiful ASCII art output formatting guidelines for all plugin commands |
All plugin outputs should be visually clear and beautiful. Choose the format that best fits the content.
When generating output for any OAS plugin command, Claude MUST:
This is a REFERENCE skill - use it to format outputs from other commands.
Content Type โ Best Format
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Key-Value pairs โ Table or Aligned
Process/Steps โ Flow Diagram
Hierarchy/Structure โ Tree
Before/After โ Comparison
Status/Progress โ Progress Bar
Summary โ Box
List with status โ Checklist
Timeline โ Timeline
For structured key-value or multi-column data:
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Item โ Content โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ File โ src/api/user-api.ts โ
โ Location โ getUserById() function (line 45-52) โ
โ Reason โ Response type: email field added โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Simple aligned format (for fewer columns):
File: src/api/user-api.ts
Location: getUserById() function (line 45-52)
Reason: Response type: email field added
Horizontal flow:
โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ
โ Fetch โโโโโถโ Parse โโโโโถโ Diff โโโโโถโ Generateโ
โ Spec โ โ Schema โ โ Compare โ โ Code โ
โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ
Vertical flow with details:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. Fetch OpenAPI Spec โ
โ GET /openapi.json โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. Compare with Cache โ
โ Hash: abc123 โ def456 โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโดโโโโโโโโ
โผ โผ
โโโโโโโโโโโโ โโโโโโโโโโโโ
โ Changed โ โ No Changeโ
โ Continue โ โ Done โ
โโโโโโฌโโโโโโ โโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. Generate Code โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Decision flow:
โโโโโโโโโโโโโโโ
โ Cache exists?โ
โโโโโโโโฌโโโโโโโ
โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโ
โผ โ โผ
[ Yes ] โ [ No ]
โ โ โ
โผ โ โผ
โโโโโโโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโโโโ
โ Compare hash โ โ โ Full fetch โ
โโโโโโโโโโฌโโโโโโโโโ โ โโโโโโโโโโฌโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโ
โ Output โ
โโโโโโโโโโโโโโโ
File tree:
src/entities/user/
โโโ api/
โ โโโ user-api.ts โ 8 functions
โ โโโ user-api-paths.ts โ 8 paths
โ โโโ user-queries.ts โ 8 hooks
โโโ model/
โ โโโ user-types.ts โ 12 types
โโโ index.ts
Nested structure with status:
๐ฆ API Coverage
โ
โโโ โ
user (100%)
โ โโโ getUser
โ โโโ updateUser
โ โโโ deleteUser
โ
โโโ โ ๏ธ workspace (75%)
โ โโโ โ
getWorkspace
โ โโโ โ
createWorkspace
โ โโโ โ inviteUser โ missing
โ โโโ โ
deleteWorkspace
โ
โโโ โ billing (0%)
โโโ โ getPlans
โโโ โ subscribe
โโโ โ cancelSubscription
Side-by-side diff:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Before โ After โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ interface User { โ interface User { โ
โ id: string; โ id: string; โ
โ name: string; โ name: string; โ
โ โ + email: string; โ
โ โ + avatar?: string; โ
โ } โ } โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Inline diff:
GET /users/{id}
Response: UserResponse
+ email: string (added)
+ avatar?: string (added, optional)
~ name: string โ string | null (changed to nullable)
- legacy_id: number (removed)
Progress bar:
Syncing API endpoints...
user โโโโโโโโโโโโโโโโโโโโ 100% โ
workspace โโโโโโโโโโโโโโโโโโโโ 60% โณ
billing โโโโโโโโโโโโโโโโโโโโ 0% โธ๏ธ
Overall: โโโโโโโโโโโโโโโโโโโโ 70% (21/30 endpoints)
Status summary:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Sync Complete โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฃ
โ โ
Generated: 24 files โ
โ โ ๏ธ Warnings: 3 (nullable handling) โ
โ โ Errors: 0 โ
โ โฑ๏ธ Duration: 2.3s โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Simple header:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ API Diff Report
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Info box:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก TIP โ
โ โ
โ Use --force to regenerate all endpoints, โ
โ ignoring cache. โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Warning box:
โ ๏ธ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Breaking Changes Detected!
3 endpoints removed:
- DELETE /users/{id}/sessions
- GET /legacy/auth
- POST /v1/login
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Task list:
๐ Sync Checklist
[โ] Fetch OpenAPI spec
[โ] Parse endpoints (42 found)
[โ] Compare with existing code
[ ] Generate user-api.ts
[ ] Generate workspace-api.ts
[ ] Update type definitions
Validation result:
๐ Validation Results
โ
PASS Type safety All types match spec
โ
PASS Path coverage 42/42 endpoints covered
โ ๏ธ WARN Nullable handling 3 fields need attention
โ FAIL Response format getUserById() returns wrong type
โ FAIL Missing endpoint POST /users not implemented
๐
Sync History
Jan 13, 10:30 โโโโโโ Full sync (42 endpoints)
โ
Jan 12, 15:22 โโโโโโ Partial sync: +2 workspace endpoints
โ
Jan 10, 09:15 โโโโโโ Initial setup
โ
Jan 08, 14:00 โโโโโโ Failed: spec unreachable
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Impact Analysis Report
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Spec Change: GET /users/{id} response updated
+ email: string
+ preferences: UserPreferences
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Affected Files โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ File โ Required Changes โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ src/api/user-api.ts:45 โ Update return type โ
โ src/types/user.ts:12 โ Add email, preferences โ
โ src/hooks/useUser.ts:23 โ No change (auto-inferred) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Code Changes Required:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ src/types/user.ts
interface User {
id: string;
name: string;
+ email: string; // โ Add
+ preferences: UserPreferences; // โ Add
}
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Next Steps:
1. Run /oas:sync --tag=user to auto-generate
2. Or manually update the files above
Box Drawing:
โ โ โ โ โ โค โฌ โด โผ โ โ
โ โ โ โ โ โฃ โฆ โฉ โฌ โ โ
Arrows:
โ โ โ โ โ โ
โถ โ โฒ โผ
โโโโถ โโโโ โ
โผ
Progress:
โ โ โ โ
Status Icons:
โ
โ โ ๏ธ โณ โธ๏ธ ๐ก ๐ฆ ๐ ๐ ๐ ๐ ๐ ๐ ๐ท๏ธ
Bullets:
โข โ โ โฆ โช โซ
Lines:
โ โ โ โ โ
โ โ